package cn.javasea.web.commandLineRunner.runner;

import cn.javasea.web.commandLineRunner.config.PrintConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

import java.io.IOException;

/**
 *  HandlerProcessor需要实现BeanFactoryPostProcessor，在spring处理bean前，将自定义的bean注册到容器中。
 * 扫描指定包中标有@HandlerType的类；
 将注解中的类型值作为key，对应的类作为value，保存在Map中；
 以上面的map作为构造函数参数，初始化HandlerContext，将其注册到spring容器中；
 */
@Component
public class OrderRunner3 implements ApplicationRunner {

    @Autowired
    private PrintConfig printConfig;

    @Override
    public void run(ApplicationArguments args) throws IOException {
        System.out.println("---------- runner3 --------");
        System.out.println(printConfig.getCompanyName());
        System.out.println("========== runner3 ========");
    }

}
